Quality assurance (QA) of Internet web sites and pages is becoming increasingly crucial. As users becoming more comfortable interacting and conducting commercial transactions online, companies must ensure that their online content runs smoothly, efficiently and reliably. Recurring problems with a vendor's web site may lead to lost opportunities, and, worse yet, gains to the competition. With online offerings rapidly growing, it is paramount that quality assurance efforts be both comprehensive and reliable.
Regression testing is a type of QA testing currently performed on web-hosted applications. Regression tests determine whether data or objects associated with a particular web site screen function properly to produce correct result(s). An object may comprise, for example, any portion of the web site or page that receives information a user, provides information to a user, or produces or is used to produce a specific result. Examples include drop-down menus, radio buttons, icons, hyperlinks, search or text boxes, and other like screen elements. For example, a web page that permits a user to open a trading account may comprise objects that query a registrant for his name, address, telephone number, account type, and other relevant information. Ideally, the objects should perform properly no matter what data or information the user/registrant provides. Thus, a registrant should be able to register regardless of whether the registrant is from Florida, New York or Virginia, for example. Regression testing may reveal, for example, that the registration process fails every time a user from New York attempts to register, signaling a problem with the particular object that queries the registrant for his state of residence. Regression testing may also reveal that particular data—such as the registrant's name, for example—has changed. Other screen data and objects may be tested as well.
Currently, several testing tools are available that test an application's performance and ability to produce intended results. Some of these tools require the tester to manually input lines of code and data that comprise navigation steps that specifically test data or objects of the application, such as performance of drop-down menus, radio buttons, and icons, for example. Each line of code defines a particular action to be performed and corresponding data, values, or parameters associated with the action. The process, however, is laborious, time-consuming, and requires the tester to have substantial programming skills. Other systems and tools facilitate the process by providing a spreadsheet interface that enables a tester to perform many of the data entry and coding steps without possessing particular programming knowledge. Data and information entered onto the spreadsheet in one format may then be converted to an appropriate format compatible with the test tool that interfaces with the application and performs the test.
While existing systems and methods for testing applications have been effective in identifying flaws with an application, they nonetheless suffer from several notable drawbacks. First, current systems and methods do not enable a tester to rapidly and dynamically define test plans or scripts that can be stored for future use, modified or revised to accommodate changes in an application, and which can be used to dynamically capture results that likewise may be stored for subsequent access or use. Second, current systems and methods do not enable the generation of test results that can be dynamically compared throughout the lifespan of the application, such as, for example, baseline test results that can be used to dynamically measure or gauge subsequent test results. Third, current systems do not enable a tester to define objects during the test plan or script creation process in an efficient and dynamic manner, such as by dynamically determining the objects and associated parameters or values associated with an application.
These and other problems exist.